export interface PlanSourceRes {
  /**
   * @desc 资源唯一id
   */
  resourceId: string;
  /**
   * @desc 资源名称
   */
  resourceName: string;
  /**
   * @example '2023-05-12 10:40:00'
   */
  createTime: string;
  /**
   * @example '2023-05-12 10:40:00'
   */
  modifyTime: string;
  /**
   * @desc 所属行业 平台发布的才会有
   */
  trade?: string;
  /**
   * @desc 分类信息,课件包才会有
   * @example '安全驾驶——不良驾驶'
   */
  className?: string;

  /**
   * @desc 0文件 1文件 基础类型的资源才会有
   */
  resourceType?: number;
  /**
   * @example 600 700 900
   */
  coursewareGroup?: number;
  /**
   * @desc 如果是文件夹,则会展示里面的内容数量
   */
  coursewareNum?: number;
  /**
   * @desc 收费收费
   */
  isCharge?: number;
}

export interface GovernmentSourceRes extends PlanSourceRes {
  entId: string;
  resourceId: string;
  resourceName: string;
  resourceType: number;
  coursewareGroup: number;
  parentId: string;
  createTime: string;
  modifyTime: string;
  lastOperator?: string;
  coursewareNum: number;
  safeQuestion?: null;
  vedioId: string;
  vedioInfo: null;
  picTextContent: string;
  picUrl: string;
  isCharge?: number;
  videoList: {
    searchValue?: unknown;
    createBy?: unknown;
    createTime: string;
    updateBy?: unknown;
    updateTime?: unknown;
    remark?: unknown;
    dataScope?: unknown;
    guid: string;
    coursewareId: string;
    videoId?: unknown;
    picUrl: string;
    hsVideoId: string;
  }[];
}

/**
 * @desc 聚合的请求参数,大家统一的
 */
export interface SearchParams {
  /**
   * @desc 资源时间排序
   */
  dateSort?: string;
  type?: string;
  /**
   * @desc 资源类型
   */
  coursewareGroup?: string | number;
  /**
   * @desc 资源文件夹路径
   */
  parentId?: string;
  /**
   * @desc 资源名称
   */
  name?: string;
  resourceName?: string;
  /**
   * @desc 分类 已上架的课件包和已上架的试卷才用到
   */
  classId?: string;
  /**
   * @desc 行业 已上架的课件包和已上架的试卷才用到
   */
  trade?: string;
  /**
   * @desc 区域 已上架的课件包和已上架的试卷才用到
   */
  region?: string;
  /**
   * @desc 是否收费 已上架的课件包和已上架的试卷才用到
   */
  isCharge?: string;
  /**
   * @desc 组织类型 已上架的课件包和已上架的试卷才用到
   */
  entTypeCode?: string;
  /**
   * @desc 企业id
   */
  entId?: string;
}

export interface SourceInterface {
  isCharge?: number;
  /**
   * @desc 资源名称
   */
  name: string;
  /**
   * @desc 资源唯一id
   */
  id: string;
  /**
   * @desc 资源是否是文件夹 resourceType===1
   */
  isFolder: boolean;
  /**
   * @desc 资源类型
   */
  readonly type: '课件包' | '试卷' | 'pdf课件' | '视频课件' | '图文课件' | '单选题' | '多选题' | '判断题' | '未知';
  /**
   * @desc 资源来源
   */
  readonly from: 'platform' | 'government' | 'boss';

  origin: unknown;
  /**
   * @desc 创建时间
   */
  createTime: string;
  /**
   * @desc 更新时间
   */
  updateTime: string;
  parentType?: string;
}

/**
 * @desc 接口返回类型的共有属性
 * @address /safe/api/industry/courseware/listWithRelationType
 */
export interface ListWithRelationTypeRes {
  coursewareId: string;
  coursewareType: string;
  name: string;
  vedioId: string;
  picUrl: string;
  pictextContent?: string;
  content?: string;
  createTime: string;
  sortNum: number;
  /**
   * @desc 试卷或者考题才可能会有
   */
  questions?: string;
}

export interface PackageSourceEntity {
  coursewareId: string;
  coursewareType: string;
  region?: unknown;
  classId?: unknown;
  industryCode?: unknown;
  industryName?: unknown;
  name: string;
  vedioId?: string;
  picUrl: string;
  pictextContent?: unknown;
  content?: unknown;
  remark?: unknown;
  platformCoursewareId?: unknown;
  createTime: string;
  createBy?: unknown;
  updateBy?: unknown;
  updateTime: string;
  totalScore?: unknown;
  passScore?: unknown;
  scoreInfo?: unknown;
  questionsInfo?: unknown;
  relationId?: unknown;
  relationType?: unknown;
  isDel: string;
  filterCoursewareTypes?: unknown;
  packageId?: string;
  sortNum: number;
  coursewareSortNum?: unknown;
  questions?: unknown;
  isCharge?: number;
  type?: string;
}
export interface PackageSelfSourceEntity {
  className: string;
  coursewarVoList: string;
  coursewareNum?: number;
  createTime: string;
  modifyTime: string;
  resourceId: string;
  resourceName: string;
  trade?: string;
  type?: string;
  coursewareSortNum?: unknown;
  questions?: unknown;
  isCharge?: number;
  coursewareType?: string;
}

export interface CoursewareListType {
  sourceType?: number;
  type: string;
  vedioId?: string;
  vedioInfo?: string;
  scoreInfo?: string;
  picTextContent?: string;
  isCharge?: number;
  picUrl?: string;
  name: string;
  guid: string;
}
export interface PackageSelfDetailEntity {
  classType?: string;
  coursewareList: CoursewareListType[];
  cover?: string;
  createTime: string;
  guid: string;
  name: string;
  parClassId: string;
}
/**
 * @desc 学习计划模版课件接口返回类型
 * @address /safe/api/industry/courseware/listWithRelationType
 */
export interface StudyPlanContentEntity extends ListWithRelationTypeRes {
  createTime: string;
  updateTime: string;
  isDel: string;
  sortNum: number;
  coursewareSortNum: number;
}
// export interface XihuiPackage {
//   className: string;
//   coursewarVoList: {
//     className: string;
//     coursewarVoList: string;
//     coursewareNum: string;
//     createTime: string;
//     isCharge: string;
//     modifyTime: string;
//     resourceId: string;
//     resourceName: string;
//     trade: string;
//     type: string;
//   }[];
//   coursewareNum: string;
//   createTime: string;
//   isCharge: string;
//   modifyTime: string;
//   resourceId: string;
//   resourceName: string;
//   trade: string;
//   type: string;
// }
export interface XihuiPackage {
  [x: string]: any;
  className: string;
  coursewarVoList: string;
  coursewareNum: string;
  createTime: string;
  isCharge: number;
  modifyTime: string;
  resourceId: string;
  resourceName: string;
  trade: string;
  type: string;
}
[];
